package cn.kgc.spring.statik;

import cn.kgc.spring.service.Teacher;
import cn.kgc.spring.service.impl.TeacherLi;

/**
 * @author 课工场
 * @date 2024/2/22
 * @description  TeacherLi的代理类
 *  通过静态你代理的方式实现了不修改源码实现业务功能的增强，但是仍然存在一定的问题
 * 问题的分析:
 *    1. 代码冗余
 *    2. 增加的了代码的维护难度
 */
public class TeacherLiStaticProxy implements Teacher {

    private TeacherLi teacherLi = new TeacherLi();

    @Override
    public String teachOnLine(String course) {

        System.out.println("上课时间到了，请开始上课");
        String s = teacherLi.teachOnLine(course);
        System.out.println("下课时间到了，休息一下");

        return s;
    }

    @Override
    public String teachOffLine(String course) {

        System.out.println("上课时间到了，请开始上课");
        String s = teacherLi.teachOffLine(course);
        System.out.println("下课时间到了，休息一下");
        return s;
    }
}
